//package com.jsh.erp.config;
//
//import com.gitee.starblues.integration.DefaultIntegrationConfiguration;
//import org.pf4j.RuntimeMode;
//import org.springframework.beans.factory.annotation.Value;
//import org.springframework.boot.context.properties.ConfigurationProperties;
//import org.springframework.stereotype.Component;
//
///**
// * 插件配置类 (Spring Boot 3.x 兼容版本)
// */
//@Component
//@ConfigurationProperties(prefix = "plugin")
//public class PluginConfiguration implements IntegrationConfiguration {
//
//    /**
//     * 运行模式 (默认: dev)
//     * 可选值:
//     *   - 开发环境: development, dev
//     *   - 生产环境: deployment, prod
//     */
//    private String runMode = "dev";
//
//    /**
//     * 插件存放路径 (默认: plugins)
//     */
//    private String path = "plugins";
//
//    /**
//     * 插件配置文件路径 (默认: pluginConfigs)
//     */
//    private String configFilePath = "pluginConfigs";
//
//    /**
//     * 上传临时路径 (默认: temp)
//     */
//    private String uploadTempPath = "temp";
//
//    /**
//     * 备份路径 (默认: backupPlugin)
//     */
//    private String backupPath = "backupPlugin";
//
//    /**
//     * REST控制器路径前缀 (默认: /api/plugin)
//     */
//    private String restControllerPathPrefix = "/api/plugin";
//
//    /**
//     * 是否启用插件ID作为REST路径前缀 (默认: true)
//     */
//    private boolean enablePluginIdRestControllerPrefix = true;
//
//    @Override
//    public RuntimeMode environment() {
//        return RuntimeMode.byName(runMode);
//    }
//
//    @Override
//    public String pluginPath() {
//        return path;
//    }
//
//    @Override
//    public String pluginConfigFilePath() {
//        return configFilePath;
//    }
//
//    @Override
//    public String uploadTempPath() {
//        return uploadTempPath;
//    }
//
//    @Override
//    public String backupPath() {
//        return backupPath;
//    }
//
//    @Override
//    public String pluginRestControllerPathPrefix() {
//        return restControllerPathPrefix;
//    }
//
//    @Override
//    public boolean enablePluginIdRestControllerPathPrefix() {
//        return enablePluginIdRestControllerPrefix;
//    }
//
//    // Getter 和 Setter 方法
//    public String getRunMode() {
//        return runMode;
//    }
//
//    public void setRunMode(String runMode) {
//        this.runMode = runMode;
//    }
//
//    public String getPath() {
//        return path;
//    }
//
//    public void setPath(String path) {
//        this.path = path;
//    }
//
//    public String getConfigFilePath() {
//        return configFilePath;
//    }
//
//    public void setConfigFilePath(String configFilePath) {
//        this.configFilePath = configFilePath;
//    }
//
//    public String getUploadTempPath() {
//        return uploadTempPath;
//    }
//
//    public void setUploadTempPath(String uploadTempPath) {
//        this.uploadTempPath = uploadTempPath;
//    }
//
//    public String getBackupPath() {
//        return backupPath;
//    }
//
//    public void setBackupPath(String backupPath) {
//        this.backupPath = backupPath;
//    }
//
//    public String getRestControllerPathPrefix() {
//        return restControllerPathPrefix;
//    }
//
//    public void setRestControllerPathPrefix(String restControllerPathPrefix) {
//        this.restControllerPathPrefix = restControllerPathPrefix;
//    }
//
//    public boolean isEnablePluginIdRestControllerPrefix() {
//        return enablePluginIdRestControllerPrefix;
//    }
//
//    public void setEnablePluginIdRestControllerPrefix(boolean enablePluginIdRestControllerPrefix) {
//        this.enablePluginIdRestControllerPrefix = enablePluginIdRestControllerPrefix;
//    }
//
//    @Override
//    public String toString() {
//        return "PluginConfiguration{" +
//                "runMode='" + runMode + '\'' +
//                ", path='" + path + '\'' +
//                ", configFilePath='" + configFilePath + '\'' +
//                ", uploadTempPath='" + uploadTempPath + '\'' +
//                ", backupPath='" + backupPath + '\'' +
//                ", restControllerPathPrefix='" + restControllerPathPrefix + '\'' +
//                ", enablePluginIdRestControllerPrefix=" + enablePluginIdRestControllerPrefix +
//                '}';
//    }
//}